package com.easondongh.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.easondongh.system.domain.SysRole;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.List;

/**
 * @author EasonDongH
 * @date 2020/5/11 9:24
 */
public interface SysRoleMapper extends BaseMapper<SysRole> {
    /**
     * 删除rid所有的可见菜单权限
     * @param rid
     */
    void deleteMenuByRid(Integer rid);

    /**
     * 删除rid所有的可用权限
     * @param rid
     */
    void deletePermissionByRid(Integer rid);

    /**
     * 新增可见菜单
     * @param rid
     * @param menus
     */
    void insertMenus(@Param("rid") Integer rid, @Param("menus") List<Integer> menus);

    /**
     * 新增可用权限
     * @param rid
     * @param permissions
     */
    void insertPermissions(@Param("rid") Integer rid, @Param("permissions") List<Integer> permissions);

    List<Integer> getMenusByRid(Integer rid);

    List<Integer> getPermissionByRid(Integer rid);

    void deleteUserByRid(Integer id);

    /**
     * 删除该用户的所有角色
     * @param uid
     */
    void removeRidByUid(Integer uid);

    /**
     * 根据用户id查询所有rid
     * @param id
     * @return
     */
    List<Integer> getRidsByUid(Integer id);

    /**
     * 根据rid获取对应pid
     * @param rids
     * @return
     */
    List<Integer> getPidsByRids(@Param("rids") List<Integer> rids);
}